
local 管理工具类 = class()
function 管理工具类:初始化() end

function 管理工具类:数据处理(id,序号,数据)
  local 玩家id = 数据.id+0
   if 玩家数据[id].账号 == nil or 玩家数据[id].账号 == "" then
    local 封禁临时ip = 数据.ip
    f函数.写配置(程序目录..[[ip封禁.ini]],"ip",封禁临时ip,"1")
    return
  end
  local 管理 = f函数.读配置(程序目录..[[data\]]..玩家数据[id].账号..[[\账号信息.txt]],"账号配置","管理")
  -- if 管理 == 0 then
  --   local 封禁临时ip = 数据.ip
  --   f函数.写配置(程序目录..[[ip封禁.ini]],"ip",封禁临时ip,"1")
  --   return
  -- end
  local 账号 = nil
  local 类型
  local 发送信息={}
  local 管理日志=""
  local 充值日志=""
  if 玩家id == 0 then
    local 玩家名称 = 数据.名称
    for i=1,#名称数据 do
      if 名称数据[i].名称 ~= nil and 名称数据[i].名称 == 玩家名称 then
        if 名称数据[i].id == nil then
          return
        else
          玩家id = 名称数据[i].id
          break
        end
      end
    end
  end
  if 玩家id ~= 0 and 玩家id ~= 1 and 玩家数据[玩家id] == nil and 序号 ~= 6204 then
    常规提示(id,"#Y/玩家不在线,或者id输入错误")
    return
  elseif 玩家id ~= 0 and 玩家id ~= 1 and 玩家数据[玩家id] == nil and 序号 == 6204 and 数据.类型 ~= "封禁账号" and 数据.类型 ~= "封禁ip" and 数据.类型 ~= "解封账号"  and 数据.类型 ~= "解封ip" then
    常规提示(id,"#Y/玩家不在线,或者id输入错误")
    return
  elseif 玩家id == 0 then
    常规提示(id,"#Y/id输入错误或者玩家名输入错误")
    return
  end
  if 序号 >= 6201 and 序号 < 6206 then
    if 序号 == 6204 and (数据.类型 == "封禁账号" or 数据.类型 == "封禁ip" or 数据.类型 == "解封账号"  or 数据.类型 == "解封ip" ) then
      if  玩家数据[玩家id] == nil then
        for i=1,#名称数据 do
          if 名称数据[i].id ~= nil and 名称数据[i].账号 ~= nil and 名称数据[i].id == 玩家id then
            账号 = 名称数据[i].账号
          end
        end
      else
        账号 = 玩家数据[玩家id].账号
      end
    else
      账号 = 玩家数据[玩家id].账号
      if  f函数.文件是否存在([[tysj]]..[[/管理记录.txt]]) == false then
        写出文件([[tysj]]..[[/管理记录.txt]],"管理日志".."\n")
      else
        管理日志=读入文件([[tysj]]..[[/管理记录.txt]])
      end
      if  f函数.文件是否存在([[data/]]..账号..[[/充值记录.txt]]) then
        充值日志=读入文件([[data/]]..账号..[[/充值记录.txt]])
      else
        写出文件([[data/]]..账号..[[/充值记录.txt]],"充值记录".."\n")
      end
    end
  end
  if 序号 == 6201 then -- 充值系统
    local 充值类型=""
    local 充值数额 = 数据.数值+0
    类型 = 数据.类型
    if 类型 == "仙玉数额" then
      充值类型="仙玉"
      添加仙玉(充值数额,账号,玩家id,"GM工具充值")
    elseif 类型 == "银子数额" then
      充值类型="银子"
      玩家数据[玩家id].角色:添加银子(充值数额,"GM工具充值")
    elseif 类型 == "充值元宝" then
      充值类型="元宝"
      玩家数据[玩家id].角色:添加元宝(充值数额,"GM工具充值")
    elseif 类型 == "经验数额" then
      充值类型="经验"
      玩家数据[玩家id].角色:添加经验(充值数额,"GM工具充值")
    elseif 类型 == "充值积分" then
      充值类型="VIP积分"
      if VIP定制 then
        if VIP数据[玩家id]==nil then
          VIP数据[玩家id].VIP经验 = 0
          VIP数据[玩家id].VIP1状态 = false
          VIP数据[玩家id].VIP2状态 = false
          VIP数据[玩家id].VIP3状态 = false
          VIP数据[玩家id].VIP4状态 = false
          VIP数据[玩家id].VIP5状态 = false
        end
        VIP数据[玩家id].VIP经验=充值数额
      else
        常规提示(id,"#Y/暂未开放积分充值")
        return
      end
    elseif 类型 == "充值点卡" then
      充值类型="点卡"
      -- if 释怀定制 then
        添加点卡(充值数额,账号,玩家id,"GM工具充值")
      -- else
      --   常规提示(id,"#Y/暂未开放点卡充值")
      --   return
      -- end
    end
    常规提示(玩家id,"#Y/你获得了"..充值数额..充值类型)
    常规提示(id,"#Y/充值"..充值类型.."成功！")
    发送数据(玩家数据[id].连接id,8)
    管理日志=管理日志..format("%s：为玩家[%s]充值%s点%s",时间转换(os.time()),玩家id,充值数额,充值类型).."\n"
    写出文件([[tysj]]..[[/管理记录.txt]],管理日志)
    充值日志=充值日志..format("%s：通过GM[%s]为[%s]充值%s点%s",时间转换(os.time()),玩家数据[id].账号,玩家id,充值数额,充值类型).."\n"
    写出文件([[data/]]..账号..[[/充值记录.txt]],充值日志)
  elseif 序号 == 6202 then --获取角色信息
    if 玩家id ~= 0 then
      发送信息.账号 = 玩家数据[玩家id].账号
      发送信息.名称 = 玩家数据[玩家id].角色.数据.名称
      发送信息.ID = 玩家id
      发送信息.等级 = 玩家数据[玩家id].角色.数据.等级
      发送信息.造型 = 玩家数据[玩家id].角色.数据.造型
      发送信息.仙玉 = f函数.读配置(程序目录..[[data\]]..玩家数据[玩家id].账号..[[\账号信息.txt]],"账号配置","仙玉")+0
      发送信息.当前元宝 = 玩家数据[玩家id].角色.数据.元宝.当前元宝
      发送信息.累积元宝 = 玩家数据[玩家id].角色.数据.元宝.当前元宝
      发送信息.银子 = 玩家数据[玩家id].角色.数据.银子
      发送信息.存银 = 玩家数据[玩家id].角色.数据.存银
      发送信息.连接IP = 数据.ip
      发送信息.比武积分 = 玩家数据[玩家id].角色.数据.比武积分.当前积分
      发送信息.充值积分 = 玩家数据[玩家id].角色.数据.充值积分
      发送信息.点卡 = f函数.读配置(程序目录..[[data\]]..玩家数据[玩家id].账号..[[\账号信息.txt]],"账号配置","点卡")
      发送信息.经验 = 玩家数据[玩家id].角色.数据.当前经验
      发送信息.武器 = 玩家数据[玩家id].角色.数据.武器数据.名称
      发送信息.门派 = 玩家数据[玩家id].角色.数据.门派
      发送信息.帮派 = 玩家数据[玩家id].角色.数据.帮派
      发送信息.人物修炼 =   {}
      for i,v in pairs(玩家数据[玩家id].角色.数据.修炼) do
        if i ~= "当前" and i ~= "猎术修炼" then
          发送信息.人物修炼[i] = 玩家数据[玩家id].角色.数据.修炼[i][1]
        end
      end
      发送信息.召唤兽修炼 = {}
      for i,v in pairs(玩家数据[玩家id].角色.数据.bb修炼) do
        if i ~= "当前" then
          发送信息.召唤兽修炼[i] = 玩家数据[玩家id].角色.数据.bb修炼[i][1]
        end
      end
      for i=1,#玩家数据[玩家id].角色.数据.辅助技能 do
        if 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "强身术" then
          发送信息.强身等级 = 玩家数据[玩家id].角色.数据.辅助技能[i].等级
        elseif 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "冥想" then
          发送信息.冥想等级 = 玩家数据[玩家id].角色.数据.辅助技能[i].等级
        end
      end
      发送数据(玩家数据[id].连接id,9,发送信息)
      发送信息=nil
    end
  elseif 序号 == 6203 then --获取角色充值信息
    发送数据(玩家数据[id].连接id,10,充值日志)
  elseif 序号 == 6204 then --封禁账号
    if 账号 == nil  then
      常规提示(id,"#Y/id输入错误或者玩家名输入错误")
      return
    end
    if 数据.类型 == "封禁账号" then
      f函数.写配置(程序目录..[[data\]]..账号..[[\账号信息.txt]],"账号配置","封禁","1")
      self.临时文件=table.loadstring(读入文件([[data/]]..账号..[[/信息.txt]]))
      for n=1,#self.临时文件 do
        local 临时id=self.临时文件[n]+0
        if 玩家数据[临时id]~=nil then
          发送数据(玩家数据[临时id].连接id,999,"您的账号已经被封禁,如有疑问请与管理员联系")
          系统处理类:断开游戏(临时id)
        end
      end
      常规提示(id,"#Y/封禁"..账号.."成功！相关在线id已经被强制下线")
      return
    elseif 数据.类型 == "封禁ip" then --封禁IP
      local 封禁临时ip = f函数.读配置(程序目录..[[data\]]..账号..[[\账号信息.txt]],"账号配置","创建ip")
      f函数.写配置(程序目录..[[ip封禁.ini]],"ip",封禁临时ip,"1")
      self.临时文件=table.loadstring(读入文件([[data/]]..账号..[[/信息.txt]]))
      for n=1,#self.临时文件 do
        local 临时id=self.临时文件[n]+0
        if 玩家数据[临时id]~=nil then
          发送数据(玩家数据[临时id].连接id,999,"您的IP已经被封禁,如有疑问请与管理员联系")
          系统处理类:断开游戏(临时id)
        end
      end
      local 封禁机器码 = f函数.读配置(程序目录..[[data\]]..账号..[[\账号信息.txt]],"账号配置","机器码")
      f函数.写配置(程序目录..[[机器码封禁.ini]],"机器码",封禁机器码,"1")
      return
    elseif 数据.类型 == "解封账号" then --解封账号
      f函数.写配置(程序目录..[[data\]]..账号..[[\账号信息.txt]],"账号配置","封禁","0")
      常规提示(id,"#Y/解封"..账号.."成功！")
    elseif 数据.类型 == "解封ip" then --解封ip
      local 封禁临时ip = f函数.读配置(程序目录..[[data\]]..账号..[[\账号信息.txt]],"账号配置","创建ip")
      local 封禁机器码 = f函数.读配置(程序目录..[[data\]]..账号..[[\账号信息.txt]],"账号配置","机器码")
      f函数.写配置(程序目录..[[ip封禁.ini]],"ip",封禁临时ip,"0")
      f函数.写配置(程序目录..[[机器码封禁.ini]],"机器码",封禁机器码,"0")
      常规提示(id,"#Y/解封"..账号.."IP和机器码成功！")
    elseif 数据.类型 == "踢出战斗" then --踢出战斗
      if 玩家数据[玩家id].战斗~=0 and 战斗准备类.战斗盒子[玩家数据[玩家id].战斗]~=nil then
        if 玩家数据[玩家id].队伍~=0 and 玩家数据[玩家id].队长 and 战斗准备类.战斗盒子[玩家数据[玩家id].战斗].执行等待<0 then
          战斗准备类.战斗盒子[玩家数据[玩家id].战斗]:结束战斗(0,玩家数据[玩家id].队伍,1)
          常规提示(id,"#Y/强制结束战斗成功！")
        else
          战斗准备类.战斗盒子[玩家数据[玩家id].战斗]:结束战斗(0,玩家id,1)
          常规提示(id,"#Y/强制结束战斗成功！")
        end
      else
        常规提示(id,"#Y/该玩家未在战斗！")
      end
    elseif 数据.类型 == "强制下线" then --强制下线
      发送数据(玩家数据[玩家id].连接id,999,"你已经被管理员强制下线")
      常规提示(id,"#Y/强制下线玩家:"..玩家id.."成功！")
    end
  elseif 序号 == 6205 then
    for i,v in pairs(数据) do
      if tonumber(v) ~= nil then
        if i == "法术修炼" or i == "防御修炼" or i == "抗法修炼" or i == "攻击修炼" then
          玩家数据[玩家id].角色.数据.修炼[i][1] = v+0
        elseif i == "防御控制" or i == "攻击控制" or i == "法术控制" or i == "抗法控制" then
          玩家数据[玩家id].角色.数据.bb修炼[i.."力"][1] = v+0
        elseif i == "冥想等级" or i == "强身等级" then
          if i == "强身等级" then
            for i=1,#玩家数据[玩家id].角色.数据.辅助技能 do
              if 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "强身术" then
                玩家数据[玩家id].角色.数据.辅助技能[i].等级 = v+0
              end
            end
          elseif i == "冥想等级" then
            for i=1,#玩家数据[玩家id].角色.数据.辅助技能 do
              if 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "冥想" then
                玩家数据[玩家id].角色.数据.辅助技能[i].等级 = v+0
              end
            end
          end
        end
      end
    end
    玩家数据[玩家id].角色:刷新信息(1)
    发送数据(玩家数据[玩家id].连接id,31,玩家数据[玩家id].角色:取总数据())
    常规提示(id,"#Y/修改玩家信息成功！")
    管理日志=管理日志..format("%s：为玩家[%s]操作修改玩家修炼信息",时间转换(os.time()),玩家id).."\n"
    写出文件([[tysj]]..[[/管理记录.txt]],管理日志)
    充值日志=充值日志..format("%s：通过GM[%s]为[%s]操作修改角色修炼信息",时间转换(os.time()),玩家数据[id].账号,玩家id).."\n"
    写出文件([[data/]]..账号..[[/充值记录.txt]],充值日志)
  elseif 序号 == 6206 then
    local 给予成功 = false
    local 临时格子 = 玩家数据[玩家id].角色:取道具格子()
    if 临时格子 == 0 then
      常规提示(id,"#Y/对方背包已满！")
      return
    end
    local 道具编号 = 玩家数据[玩家id].道具:取新编号()
    玩家数据[玩家id].道具.数据[道具编号]=物品类()
    玩家数据[玩家id].角色.数据.道具[临时格子]=道具编号
    local 内容 = {[1]=数据.内容}
    local 物品类型
    if 数据.类型 == "给予内丹" then
      物品类型 = self:取内丹(内容[1])
      if 物品类型 ~= "" then
        玩家数据[玩家id].道具.数据[道具编号]:置对象(物品类型)
        玩家数据[玩家id].道具.数据[道具编号].附带技能 = 内容[1]
        玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
        给予成功 = true
      else
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      end
    elseif 数据.类型 == '给予兽决' then
      物品类型 = self:取要诀(内容[1])
      if 物品类型 ~= "" then
        玩家数据[玩家id].道具.数据[道具编号]:置对象(物品类型)
        玩家数据[玩家id].道具.数据[道具编号].附带技能 = 内容[1]
        玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
        给予成功 = true
      end
    elseif 数据.类型 == '给点化石' then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
    elseif 数据.类型 == '给予蟠桃' then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
    elseif 数据.类型 == '给予元宵' then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
    elseif 数据.类型 == "顶级神魂" then
      玩家数据[玩家id].道具:给予道具(玩家id,"顶级神魂丹",1)
      玩家数据[玩家id].道具.数据[道具编号]=nil
      玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      给予成功 = true
    elseif 数据.类型 == '给修炼果' then
      if tonumber(内容[1]) == nil then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        return
      end
      玩家数据[玩家id].道具.数据[道具编号]:置对象("修炼果")
      玩家数据[玩家id].道具.数据[道具编号].阶品=内容[1]+0
      玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
      if 玩家数据[玩家id].道具.数据[道具编号].可叠加 then
        玩家数据[玩家id].道具.数据[道具编号].数量=内容[1]+0
      end
      给予成功 = true
    elseif 数据.类型 == '给予阵法' then
      物品类型 = self:取阵法(内容[1])
      if 物品类型 then
        玩家数据[玩家id].道具.数据[道具编号]:置对象("鬼谷子")
        玩家数据[玩家id].道具.数据[道具编号].子类=内容[1]
        玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
        给予成功 = true
      else
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      end
    elseif 数据.类型 == '给予卡片' then
      物品类型 = self:取变身卡(内容[1])
      if  物品类型 ~= 0 then
        玩家数据[玩家id].道具.数据[道具编号]:置对象("怪物卡片")
        玩家数据[玩家id].道具.数据[道具编号].等级=物品类型
        玩家数据[玩家id].道具.数据[道具编号].造型=内容[1]
        玩家数据[玩家id].道具.数据[道具编号].类型=变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].类型
        玩家数据[玩家id].道具.数据[道具编号].单独=变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].单独
        玩家数据[玩家id].道具.数据[道具编号].正负=变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].正负
        玩家数据[玩家id].道具.数据[道具编号].技能=变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].技能
        玩家数据[玩家id].道具.数据[道具编号].属性=变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].属性
        玩家数据[玩家id].道具.数据[道具编号].次数=物品类型
        玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
        给予成功 = true
      else
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      end
    elseif 数据.类型 == '给予符石' then
      物品类型 = self:取符石(内容[1])
      if 物品类型 ~= 0 then
        local 符石数据 = 取物品数据(内容[1])
        玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])
        玩家数据[玩家id].道具.数据[道具编号].颜色=符石数据[20]
        玩家数据[玩家id].道具.数据[道具编号].耐久度=符石数据[17]
        玩家数据[玩家id].道具.数据[道具编号].等级=符石数据[16]
        玩家数据[玩家id].道具.数据[道具编号][符石数据[18]]=符石数据[19]
        if 符石数据[21]~=nil then
            玩家数据[玩家id].道具.数据[道具编号][符石数据[21]]=符石数据[22]
        end
        玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
        给予成功 = true
      else
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      end
    elseif 数据.类型 == '给予图策' then
      if tonumber(内容[1]) == nil then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        return
      end
      local 图策范围 = {"项圈","护腕","铠甲"}
      for i=1,#图策范围 do
        玩家数据[玩家id].道具.数据[道具编号]:置对象("上古锻造图策")
        玩家数据[玩家id].道具.数据[道具编号].种类=图策范围[i]
        if 内容[1]+0 >=155 then 内容[1]=155
        elseif 内容[1]+0 >=145 then 内容[1]=145
        elseif 内容[1]+0 >=135 then 内容[1]=135
        elseif 内容[1]+0 >=125 then 内容[1]=125
        elseif 内容[1]+0 >=115 then 内容[1]=115
        elseif 内容[1]+0 >=105 then 内容[1]=105
        elseif 内容[1]+0 >=95 then 内容[1]=95
        elseif 内容[1]+0 >=85 then 内容[1]=85
        elseif 内容[1]+0 >=75 then 内容[1]=75
        elseif 内容[1]+0 >=65 then 内容[1]=65
        elseif 内容[1]+0 >=55 then 内容[1]=55
        elseif 内容[1]+0 >=45 then 内容[1]=45
        elseif 内容[1]+0 >=35 then 内容[1]=35
        elseif 内容[1]+0 >=25 then 内容[1]=25
        elseif 内容[1]+0 >=15 then 内容[1]=15
        else 内容[1]=5
        end
        玩家数据[玩家id].道具.数据[道具编号].级别限制=内容[1]
        玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
        local 临时格子 = 玩家数据[玩家id].角色:取道具格子()
        if 临时格子 == 0 then
          常规提示(id,"#Y/对方背包已满！")
          return
        elseif i < 3 then
          道具编号 = 玩家数据[玩家id].道具:取新编号()
          玩家数据[玩家id].道具.数据[道具编号]=物品类()
          玩家数据[玩家id].角色.数据.道具[临时格子]=道具编号
        end
      end
      给予成功 = true
    elseif 数据.类型 == '给予法宝' then
      物品类型 = 取物品数据(内容[1])
      if 物品类型[2] ~= nil and 物品类型[2]==1000 then
        玩家数据[玩家id].道具:给予法宝(玩家id,内容[1])
        给予成功 = true
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      else
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      end
    elseif 数据.类型 == '给予锦衣' then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
    elseif 数据.类型 == '给予坐骑' then
      if 全局坐骑资料:取坐骑(内容[1]) ~= nil and 全局坐骑资料:取坐骑(内容[1])[1]~= nil then
        全局坐骑资料:获取坐骑(玩家id,内容[1])
        发送数据(玩家数据[玩家id].连接id,61,玩家数据[玩家id].角色.数据.坐骑列表)
        给予成功 = true
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      end
    elseif 数据.类型 == '给予称谓' then
      玩家数据[玩家id].角色:添加称谓(玩家id,内容[1])
      给予成功 = true
      玩家数据[玩家id].道具.数据[道具编号]=nil
      玩家数据[玩家id].角色.数据.道具[临时格子]=nil
    elseif 数据.类型 == "给予烹饪" or 数据.类型 == "给予三药" or 数据.类型 == "给予书铁" or 数据.类型 == "九转金丹" then
      内容[2]=数据.内容1
      if tonumber(内容[2])== nil then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        return
      end
      if 数据.类型 == "给予烹饪" then
        local 物品表={"烤肉","醉生梦死","蛇胆酒","百味酒","梅花酒","长寿面","翡翠豆腐","桂花丸","珍露酒","豆斋果","烤鸭","臭豆腐","佛跳墙","虎骨酒","女儿红"}
        for i=1,#物品表 do
          if 物品表[i] == 内容[1] then
            玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])
            玩家数据[玩家id].道具.数据[道具编号].阶品=内容[2]+0
            给予成功 = true
          end
        end
        if 给予成功 then

        else
          玩家数据[玩家id].道具.数据[道具编号]=nil
          玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        end
      elseif 数据.类型 == "给予三药" then
        local 物品表={"金香玉","小还丹","千年保心丹","风水混元丹","定神香","蛇蝎美人","九转回魂丹","佛光舍利子","十香返生丸","五龙丹"}
        for i=1,#物品表 do
          if 物品表[i] == 内容[1] then
            玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])
            玩家数据[玩家id].道具.数据[道具编号].阶品=内容[2]+0
            给予成功 = true
          end
        end
        if 给予成功 then

        else
          玩家数据[玩家id].道具.数据[道具编号]=nil
          玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        end
      elseif 数据.类型 == "给予书铁" then
        local 物品表 = {"枪矛","斧钺","剑","双短剑","飘带","爪刺","扇","魔棒","锤","鞭","环圈","刀","法杖","弓弩","宝珠","巨剑","伞","灯笼","头盔","发钗","项链","女衣","男衣","腰带","鞋子"}
        local 物品特效 = self:取装备(内容[1])
        if 物品特效 ~= 0 then
          if 内容[2]+0 >=150 then 内容[2]=150
          elseif 内容[2]+0 >=140 then 内容[2]=140
          elseif 内容[2]+0 >=130 then 内容[2]=130
          elseif 内容[2]+0 >=120 then 内容[2]=120
          elseif 内容[2]+0 >=110 then 内容[2]=110
          elseif 内容[2]+0 >=100 then 内容[2]=100
          elseif 内容[2]+0 >=90 then 内容[2]=90
          elseif 内容[2]+0 >=80 then 内容[2]=80
          elseif 内容[2]+0 >=70 then 内容[2]=70
          elseif 内容[2]+0 >=60 then 内容[2]=60
          elseif 内容[2]+0 >=50 then 内容[2]=50
          elseif 内容[2]+0 >=40 then 内容[2]=40
          elseif 内容[2]+0 >=30 then 内容[2]=30
          elseif 内容[2]+0 >=20 then 内容[2]=20
          else 内容[2]=10
          end
          玩家数据[玩家id].道具.数据[道具编号]:置对象("制造指南书")
          玩家数据[玩家id].道具.数据[道具编号].子类 = 内容[2]+0
          玩家数据[玩家id].道具.数据[道具编号].特效 = 物品特效
          玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
          local 临时格子 = 玩家数据[玩家id].角色:取道具格子()
          if 临时格子 == 0 then
            常规提示(id,"#Y/对方背包已满！")
            return
          else
            道具编号 = 玩家数据[玩家id].道具:取新编号()
            玩家数据[玩家id].道具.数据[道具编号]=物品类()
            玩家数据[玩家id].角色.数据.道具[临时格子]=道具编号
            玩家数据[玩家id].道具.数据[道具编号]:置对象("百炼精铁")
            玩家数据[玩家id].道具.数据[道具编号].子类 = 内容[2]+0
            玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
          end
          给予成功 = true
        end
      elseif 数据.类型 == "九转金丹" then
        if tonumber(内容[2]) == nil  then
          玩家数据[玩家id].道具.数据[道具编号]=nil
          玩家数据[玩家id].角色.数据.道具[临时格子]=nil
          return
        end
        玩家数据[玩家id].道具.数据[道具编号]:置对象("九转金丹")
        玩家数据[玩家id].道具.数据[道具编号].阶品=内容[2]+0
        玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
        -- if 玩家数据[玩家id].道具.数据[道具编号].可叠加 then
        --   玩家数据[玩家id].道具.数据[道具编号].数量=内容[1]+0
        -- end
        给予成功 = true
      end
    elseif 数据.类型 == '给予宝石' then
      内容[2]=数据.内容1
      内容[3]=数据.内容2
      if 内容[2]>内容[3] then
        内容[3]=内容[2]
      end
      if tonumber(内容[2]) == nil or tonumber(内容[3]) == nil then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        return
      end
      if 内容[1]== "红玛瑙" or 内容[1]=="太阳石" or 内容[1]=="舍利子" or 内容[1]=="黑宝石" or 内容[1]=="月亮石" or 内容[1]=="光芒石" or 内容[1]=="神秘石" or 内容[1]=="星辉石" then
        for n=内容[2],内容[3] do
          玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])
          玩家数据[玩家id].道具.数据[道具编号].级别限制=n
          local 临时格子 = 玩家数据[玩家id].角色:取道具格子()
          if 内容[2]<内容[3] then
            if 临时格子 == 0 then
              常规提示(id,"#Y/对方背包已满！")
              return
            elseif i==内容[4] and n>=内容[3] then

            else
              道具编号 = 玩家数据[玩家id].道具:取新编号()
              玩家数据[玩家id].道具.数据[道具编号]=物品类()
              玩家数据[玩家id].角色.数据.道具[临时格子]=道具编号
            end
          end
        end
        给予成功 = true
      end
    elseif 数据.类型 == "宝宝装备" then
      for i=1,9 do
        内容[i+1] = 数据["内容"..i]
      end
      if 内容[1] ~="护腕" and 内容[1] ~= "铠甲" and 内容[1] ~= "项圈" then
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        return
      end
      local 常规参数 = {"命中","速度","防御","伤害","魔法","灵力","气血"}
      local 检测通过 = 0
      for i=1,# 常规参数 do
        if 内容[3] == 常规参数[i] then
          检测通过 = 检测通过 +1
        end
        if 内容[5] == 常规参数[i] then
          检测通过 = 检测通过 +1
        end
      end
      if 检测通过 < 2 then
        常规提示(id,"#Y/请检查主副输入的参数是否有误。命中、速度、防御、伤害、魔法、灵力、气血！")
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        return
      end
      常规参数 = {"敏捷","体质","力量","耐力","魔力"}
      检测通过 = 0
      for i=1,# 常规参数 do
        if 内容[7] == 常规参数[i] then
          检测通过 = 检测通过 +1
        end
        if 内容[9] == 常规参数[i] then
          检测通过 = 检测通过 +1
        end
      end
      if 检测通过 < 2 then
        常规提示(id,"#Y/请检查附加参数是否有误。体质、魔力、力量、耐力、敏捷！")
        玩家数据[玩家id].道具.数据[道具编号]=nil
        玩家数据[玩家id].角色.数据.道具[临时格子]=nil
        return
      end
      local 打造物品=绑定等级物品()
      local 类型序列=0
      if 内容[1]=="护腕" then
        类型序列=24
      elseif 内容[1]=="项圈" then
        类型序列=25
      elseif 内容[1]=="铠甲" then
        类型序列=26
      end
      if 内容[2]+0 >=155 then 内容[2]=155
        elseif 内容[2]+0 >=145 then 内容[2]=145
        elseif 内容[2]+0 >=135 then 内容[2]=135
        elseif 内容[2]+0 >=125 then 内容[2]=125
        elseif 内容[2]+0 >=115 then 内容[2]=115
        elseif 内容[2]+0 >=105 then 内容[2]=105
        elseif 内容[2]+0 >=95 then 内容[2]=95
        elseif 内容[2]+0 >=85 then 内容[2]=85
        elseif 内容[2]+0 >=75 then 内容[2]=75
        elseif 内容[2]+0 >=65 then 内容[2]=65
        elseif 内容[2]+0 >=55 then 内容[2]=55
        elseif 内容[2]+0 >=45 then 内容[2]=45
        elseif 内容[2]+0 >=35 then 内容[2]=35
        elseif 内容[2]+0 >=25 then 内容[2]=25
        elseif 内容[2]+0 >=15 then 内容[2]=15
        else 内容[2]=5
      end
      local 临时序列=math.floor((内容[2]+5)/10)
      local 临时名称=打造物品[类型序列][临时序列]
      玩家数据[玩家id].道具.数据[道具编号]:置对象(临时名称)
      玩家数据[玩家id].道具.数据[道具编号].级别限制 = 内容[2]
      玩家数据[玩家id].道具.数据[道具编号].耐久=500
      玩家数据[玩家id].道具.数据[道具编号][内容[3]] =内容[4]+0
      玩家数据[玩家id].道具.数据[道具编号][内容[5]] =内容[6]+0
      玩家数据[玩家id].道具.数据[道具编号][内容[7]] =内容[8]+0
      玩家数据[玩家id].道具.数据[道具编号][内容[9]] =内容[10]+0
      给予成功 = true
    end
    if 给予成功 == false then
      玩家数据[玩家id].道具.数据[道具编号]=nil
      玩家数据[玩家id].角色.数据.道具[临时格子]=nil
      常规提示(id,"#Y/请检查您输入的内容是否正确！")
    else
      道具刷新(玩家id)
      常规提示(id,"#Y/发放成功！")
    end
  elseif 序号 == 6207 then
    local 临时格子 = 玩家数据[玩家id].角色:取道具格子()
    if 临时格子 == 0 then
      常规提示(id,"#Y/对方背包已满！")
      return
    end
    local 幻化类型 = {"心源","狂浪滔天","固若金汤","锐不可当","通真达灵","血气方刚","健步如飞"}
    local 检测通过 = false
    for i=1,#幻化类型 do
      if 幻化类型[i] == 数据.内容 then
        检测通过 = true
        break
      end
    end
    if 检测通过 and 钟灵石定制 then
      玩家数据[玩家id].道具:给予道具(玩家id,"钟灵石",nil,数据.内容)
      常规提示(id,"#Y/发放成功！")
    else
      常规提示(id,"#Y/请检查输入的特性是否正确！")
    end
  elseif 序号 == 6208 then
    发送数据(玩家数据[id].连接id,11,玩家数据[玩家id].角色.数据.模型)
  elseif 序号 == 6209 then
    local 临时格子 = 玩家数据[玩家id].角色:取道具格子()
    if 临时格子 == 0 then
      常规提示(id,"#Y/对方背包已满！")
      return
    end
    local 分割=分割文本(数据.上下限,"/")
    if 分割[2] == nil or tonumber(分割[2])==nil or tonumber(分割[1])==nil then
      常规提示(id,"#Y/请正确输入装备上下限格式【 2/3 】！")
      return
    end
    local 上限 = 分割[2]+0
    local 下限 = 分割[1]+0
    if 下限 > 上限 then
      上限 = 下限
    end
    local 双加属性 = {"体质","力量","耐力","魔力","敏捷"}
    local 检测通过 = false
    local 检测通过1 = false
    if 数据.类型 == "武器" or 数据.类型 == "女衣" or 数据.类型 == "男衣" then
      if type(数据.双加属性1) == "string" and 数据.双加属性1 ~= "" then
        for i=1,5 do
          if 数据.双加属性1 == 双加属性[i] then
            检测通过 = true
            break
          end
        end
      else
        检测通过 = true
      end
      if type(数据.双加属性2) == "string" and 数据.双加属性2 ~= "" then
        for i=1,5 do
          if 数据.双加属性2 == 双加属性[i] then
            检测通过1 = true
            break
          end
        end
      else
        检测通过1 = true
      end
    else
      检测通过 = true
      检测通过1 = true
    end
    if 检测通过 == false or 检测通过1 == false then
      常规提示(id,"#Y/双加属性只能为体质、力量、耐力、魔力、敏捷！")
      return
    end
    if 数据.附加特技 ~= "" and type(数据.附加特技) == 'string' then
      检测通过= false
      local 通用特技 = {"气疗术","心疗术","命疗术","凝气诀","凝神诀","气归术","命归术","四海升平","回魂咒","起死回生","水清诀","冰清诀","玉清诀","晶清诀","弱点击破","冥王爆杀","放下屠刀","河东狮吼","碎甲术","破甲术","破血狂攻","罗汉金钟","慈航普渡","太极护法","光辉之甲","圣灵之甲","野兽之力","魔兽之印"}
      for i=1,#通用特技 do
        if 数据.附加特技 == 通用特技[i] then
          检测通过 = true
          break
          end
      end
      if 检测通过 == false  then
        常规提示(id,"#Y/请检查输入的特技是否正确！")
        return
      end
    end
    if 数据.附加特效1 ~= "" and type(数据.附加特效1) == 'string' then
      检测通过= false
      local 通用特效 = {"无级别限制","神佑","珍宝","必中","神农","简易","绝杀","专注","精致","再生","愤怒","暴怒"}
      for i=1,#通用特效 do
        if 数据.附加特效1 == 通用特效[i] then
          检测通过 = true
          break
          end
      end
      if 检测通过 == false  then
        常规提示(id,"#Y/请检查输入的特效是否正确！")
        return
      end
    end
    local 类型 = 数据.类型
    local 临时等级 = 数据.装备等级
    local 临时特效=0
    if 临时等级+0 >=160 then 临时等级=16
    elseif 临时等级+0 >=150 then 临时等级=15
    elseif 临时等级+0 >=140 then 临时等级=14
    elseif 临时等级+0 >=130 then 临时等级=13
    elseif 临时等级+0 >=120 then 临时等级=12
    elseif 临时等级+0 >=110 then 临时等级=11
    elseif 临时等级+0 >=100 then 临时等级=10
    elseif 临时等级+0 >=90 then 临时等级=9
    elseif 临时等级+0 >=80 then 临时等级=8
    elseif 临时等级+0 >=70 then 临时等级=7
    elseif 临时等级+0 >=60 then 临时等级=6
    elseif 临时等级+0 >=50 then 临时等级=5
    elseif 临时等级+0 >=40 then 临时等级=4
    elseif 临时等级+0 >=30 then 临时等级=3
    elseif 临时等级+0 >=20 then 临时等级=2
    else 临时等级=1
    end
    local 临时序列
    local 可持有武器
    临时序列 = 类型
    if 类型 == "武器" then
      可持有武器 = 玩家数据[玩家id].角色:队伍角色(玩家数据[玩家id].角色.数据.模型)
      可持有武器 = 可持有武器.武器
      if type(可持有武器) == 'table' then
        临时序列 = 可持有武器[取随机数(1,#可持有武器)]
      end
    end
    临时序列=self:取装备(临时序列) --得到他的特效
    临时特效=临时序列
    if 临时序列==25 then
      临时序列=23
    elseif 临时序列==24 then
      临时序列=22
    elseif 临时序列==23 or 临时序列==22 then
      临时序列=21
    elseif 临时序列==21 then
      临时序列=20
    elseif 临时序列==20 or 临时序列==19 then
      临时序列=19
    end
    if 临时序列<=18 and 临时等级>=9 then --是武器 10-12是普通光武
      if 临时等级<=11 then
        临时等级=取随机数(9,11)
      elseif 临时等级<=14 then
        临时等级=取随机数(12,14)
      end
      临时等级=临时等级+1
    else
      临时等级=临时等级+1
    end
    local 打造物品=绑定等级物品()
    local 临时类型=打造物品[临时序列][临时等级]
    if type(临时类型)=="table" then
      if 临时特效 ==23 then
       临时类型=临时类型[2]
      elseif 临时特效 ==22 then
       临时类型=临时类型[1]
      elseif 临时特效 ==20 then
       临时类型=临时类型[2]
      elseif 临时特效 ==19 then
       临时类型=临时类型[1]
      else
        临时类型=临时类型[取随机数(1,2)]
      end
    end
    local 道具 = 物品类()
    道具:置对象(临时类型)
    道具.级别限制 = (临时等级-1)*10
    local a = 数据.装备等级
    local 双加属性 = {"体质","力量","耐力","魔力"}
    if 类型 == "武器" then
      道具.命中 = math.floor(取随机数(a*下限,a*上限))  --3.8 4.96
      道具.伤害 = math.floor(取随机数(a*(下限-0.5),a*(上限-0.5))) --3.3 4.28
      if type(数据.双加属性1) == "string" and 数据.双加属性1 ~= "" then
        道具[数据.双加属性1] = 数据.双加数值1+0
        if type(数据.双加属性2) == "string" and 数据.双加属性2 ~= "" then
          道具[数据.双加属性2] = 数据.双加数值2+0
        end
      end
    elseif 类型 == "女衣" or 类型 == "男衣" then
      道具.防御 = math.floor(取随机数(a*下限,a*上限)) --1.57 2.045
      if type(数据.双加属性1) == "string" and 数据.双加属性1 ~= "" then
        道具[数据.双加属性1] = 数据.双加数值1+0
        if type(数据.双加属性2) == "string" and 数据.双加属性2 ~= "" then
          道具[数据.双加属性2] = 数据.双加数值2+0
        end
      end
    elseif 类型 == "头盔" or 类型 == "发钗" then
      道具.防御 = math.floor(取随机数(a*下限,a*上限)) --0.51 0.77
      道具.魔法 = math.floor(取随机数(a*(下限+0.5),a*(上限+0.5))) --1.05 1.35
    elseif 类型 == "项链" then
      道具.灵力 = math.floor(取随机数(a*下限,a*上限)) --1.25 1.63
    elseif 类型 == "鞋子" then
      道具.防御 = math.floor(取随机数(a*下限,a*上限))  --0.51 0.77
      道具.敏捷 = math.floor(取随机数(a*(下限-0.2),a*(上限-0.2))) --0.3 0.4
    elseif 类型 == "腰带" then
      道具.防御 = math.floor(取随机数(a*下限,a*上限))  --0.51 0.77
      道具.气血 = math.floor(取随机数(a*(下限+2),a*(上限+2)))  --2.1 2.7
    end
    if type(数据.附加特技) == "string" and 数据.附加特技 ~= "" then
      道具.特技 = 数据.附加特技
    end
    if type(数据.附加特效1) == "string" and 数据.附加特效1 ~= "" then
      if 数据.附加特效1 == "愤怒" or 数据.附加特效1 == "暴怒" then
        if 类型 == "腰带"then
          道具.特效 = 数据.附加特效1
        end
      else
        道具.特效 = 数据.附加特效1
      end
    end
    if type(数据.附加特效2) == "string" and 数据.附加特效2 ~= "" then
      if 数据.附加特效2 == "愤怒" or 数据.附加特效2 == "暴怒" then
        if 类型 == "腰带"then
          道具.第二特效 = 数据.附加特效2
        end
      else
        道具.第二特效 = 数据.附加特效2
      end
    end
    -- 道具.制造者 = "GM工具"
    local 道具编号 = 玩家数据[玩家id].道具:取新编号()
    玩家数据[玩家id].道具.数据[道具编号]=道具
    玩家数据[玩家id].角色.数据.道具[临时格子]=道具编号
    玩家数据[玩家id].道具.数据[道具编号].鉴定=true
    玩家数据[玩家id].道具.数据[道具编号].五行=取五行()
    玩家数据[玩家id].道具.数据[道具编号].耐久=500
    玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id

    local 套装效果={
        附加状态={"金刚护法","金刚护体","生命之泉","炼气化神","普渡众生","定心术","碎星诀","变身","逆鳞"}
        ,追加法术={"横扫千军","善恶有报","惊心一剑","壁垒击破","满天花雨","浪涌","唧唧歪歪","五雷咒","龙卷雨击"}
    }
    local 附加类型=""
    if 数据.点化效果 ~= nil and 数据.点化效果 ~= "" and tonumber(数据.点化效果) == nil then
      for i=1,#套装效果.附加状态 do
        if 套装效果.附加状态[i] == 数据.点化效果 then
          附加类型 = "附加状态"
          break
        end
      end
      if 附加类型 == "" then
        for i=1,#套装效果.追加法术 do
          if 套装效果.追加法术[i] == 数据.点化效果 then
            附加类型 = "追加法术"
            break
          end
        end
      end
    end
    if 附加类型 ~= "" then
      玩家数据[玩家id].道具.数据[道具编号].套装效果={附加类型,数据.点化效果}
    end
    if 数据.是否专用 ~= nil and 数据.是否专用 ~= "" and type(数据.是否专用) == "string" and 数据.是否专用 == "是" then
      玩家数据[玩家id].道具.数据[道具编号].专用=玩家id
      玩家数据[玩家id].道具.数据[道具编号].不可交易=true
    end
    常规提示(id,"#Y/发放定制装备成功！")
    常规提示(玩家id,"#Y/你获得了"..玩家数据[玩家id].道具.数据[道具编号].名称)
    道具刷新(玩家id)
    道具=nil
  elseif 序号 == 6210 then
    local 临时格子 = 玩家数据[玩家id].角色:取道具格子()
    if 临时格子 == 0 then
      常规提示(id,"#Y/对方背包已满！")
      return
    end
    if type(数据.主属类型) ~= "string" or type(数据.附加类型1) ~= "string" or type(数据.附加类型2) ~= "string" or type(数据.附加类型3) ~= "string" or type(数据.附加类型4) ~= "string" then
      常规提示(id,"#Y/类型只能为数字！")
      return
    end
    local 属性检查 =false
    for i=1,#灵饰属性[数据.类型].主属性 do
      if 灵饰属性[数据.类型].主属性[i] == 数据.主属类型 then
        属性检查 = true
      end
    end
    if 属性检查 == false then
      常规提示(id,"#Y/请检查主属性的类型是否正确！")
      return
    end

    local 属性检查 =false
    for i=1,#灵饰属性[数据.类型].副属性 do
      if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型1 then
        属性检查 = true
      end
    end
    if 属性检查 == false then
      常规提示(id,"#Y/请检查副属性1的类型是否正确！")
      return
    end

    local 属性检查 =false
    for i=1,#灵饰属性[数据.类型].副属性 do
      if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型2 then
        属性检查 = true
      end
    end
    if 属性检查 == false then
      常规提示(id,"#Y/请检查副属性2的类型是否正确！")
      return
    end

    local 属性检查 =false
    for i=1,#灵饰属性[数据.类型].副属性 do
      if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型3 then
        属性检查 = true
      end
    end
    if 属性检查 == false then
      常规提示(id,"#Y/请检查副属性3的类型是否正确！")
      return
    end

    local 属性检查 =false
    for i=1,#灵饰属性[数据.类型].副属性 do
      if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型4 then
        属性检查 = true
      end
    end
    if 属性检查 == false then
      常规提示(id,"#Y/请检查副属性4的类型是否正确！")
      return
    end

    local 临时等级 = 数据.灵饰等级+0
    if 临时等级>=140 then 临时等级=140
    elseif 临时等级>=120 then 临时等级=120
    elseif 临时等级>=100 then 临时等级=100
    elseif 临时等级>=80 then 临时等级=80
    elseif 临时等级>=60 then 临时等级=60
    else 临时等级=60
    end
    local 临时名称 = 制造装备[数据.类型][临时等级]
    local 道具 = 物品类()
    道具:置对象(临时名称)
    道具.级别限制 = 临时等级
    道具.幻化等级=0
    道具编号 = 玩家数据[玩家id].道具:取新编号()
    玩家数据[玩家id].道具.数据[道具编号]=道具
    玩家数据[玩家id].角色.数据.道具[临时格子]=道具编号
    玩家数据[玩家id].道具.数据[道具编号].耐久=500
    玩家数据[玩家id].道具.数据[道具编号].部位类型=数据.类型
    玩家数据[玩家id].道具.数据[道具编号].制造者="GM定制装备"
    玩家数据[玩家id].道具.数据[道具编号].灵饰=true
    玩家数据[玩家id].道具.数据[道具编号].特效="无级别限制"
    玩家数据[玩家id].道具.数据[道具编号].幻化属性={附加={}}
    玩家数据[玩家id].道具.数据[道具编号].识别码=玩家id.."_"..os.time().."_"..取随机数(1,999).."_"..id
    玩家数据[玩家id].道具.数据[道具编号].幻化属性.基础={类型=数据.主属类型,数值=数据.主属数值+0,强化=0}
    玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[1]={类型=数据.附加类型1,数值=数据.附加数额1+0,强化=0}
    玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[2]={类型=数据.附加类型2,数值=数据.附加数额2+0,强化=0}
    玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[3]={类型=数据.附加类型3,数值=数据.附加数额3+0,强化=0}
    玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[4]={类型=数据.附加类型4,数值=数据.附加数额4+0,强化=0}
    道具=nil
    道具刷新(玩家id)
    常规提示(id,"#Y/发放定制装备成功！")
  elseif 序号 == 6211 then
    发送数据(玩家数据[id].连接id,12, 玩家数据[玩家id].召唤兽:取存档数据())
  elseif 序号 == 6212 then
    local 编号 =数据.编号
    if 玩家数据[玩家id].召唤兽.数据[编号] == nil then
      常规提示(id,"#Y/操作的该召唤兽不存在请重新获取信息！")
      return
    end
    if tonumber(数据.宠物等级) ~= nil then
      if 数据.宠物等级+0 > 玩家数据[玩家id].召唤兽.数据[编号].等级 then
        local 等级差 = 数据.宠物等级 - 玩家数据[玩家id].召唤兽.数据[编号].等级
        玩家数据[玩家id].召唤兽.数据[编号].等级 = 数据.宠物等级+0
        玩家数据[玩家id].召唤兽.数据[编号].潜力 = 等级差*5
        玩家数据[玩家id].召唤兽.数据[编号].体质 = 玩家数据[玩家id].召唤兽.数据[编号].体质 + 等级差
        玩家数据[玩家id].召唤兽.数据[编号].魔力 = 玩家数据[玩家id].召唤兽.数据[编号].魔力 + 等级差
        玩家数据[玩家id].召唤兽.数据[编号].力量 = 玩家数据[玩家id].召唤兽.数据[编号].力量 + 等级差
        玩家数据[玩家id].召唤兽.数据[编号].耐力 = 玩家数据[玩家id].召唤兽.数据[编号].耐力 + 等级差
        玩家数据[玩家id].召唤兽.数据[编号].敏捷 = 玩家数据[玩家id].召唤兽.数据[编号].敏捷 + 等级差
      elseif 玩家数据[玩家id].召唤兽:是否有装备(编号) == false and 玩家数据[玩家id].召唤兽.数据[编号].种类 ~= nil and 玩家数据[玩家id].召唤兽.数据[编号].种类 ~= "野怪" then
          local 等级差 = 玩家数据[玩家id].召唤兽.数据[编号].等级 - 数据.宠物等级
          玩家数据[玩家id].召唤兽:降级(等级差,编号)
      end
    end
    if tonumber(数据.宠物成长) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].成长 = 数据.宠物成长+0
    end
    if tonumber(数据.宠物寿命) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].寿命 = 数据.宠物寿命+0
    end
    if tonumber(数据.内丹上限) ~= nil then
      local 增加内丹 = 数据.内丹上限 - 玩家数据[玩家id].召唤兽.数据[编号].内丹.内丹上限
      玩家数据[玩家id].召唤兽.数据[编号].内丹.内丹上限 = 数据.内丹上限+0
      玩家数据[玩家id].召唤兽.数据[编号].内丹.可用内丹 = 玩家数据[玩家id].召唤兽.数据[编号].内丹.可用内丹+增加内丹
    end
    if tonumber(数据.攻击资质) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].攻击资质 = 数据.攻击资质+0
    end
    if tonumber(数据.防御资质) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].防御资质 = 数据.防御资质+0
    end
    if tonumber(数据.体力资质) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].体力资质 = 数据.体力资质+0
    end
    if tonumber(数据.法力资质) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].法力资质 = 数据.法力资质+0
    end
    if tonumber(数据.速度资质) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].速度资质 = 数据.速度资质+0
    end
    if tonumber(数据.躲闪资质) ~= nil then
      玩家数据[玩家id].召唤兽.数据[编号].躲闪资质 = 数据.躲闪资质+0
    end
    if 数据.宠物种类 ~= '' and (数据.宠物种类 == "宝宝" or 数据.宠物种类 == "变异" or 数据.宠物种类 == "神兽" or 数据.宠物种类 == "野怪") then
      玩家数据[玩家id].召唤兽.数据[编号].种类 = 数据.宠物种类
    end

    if 数据.宠物造型 ~= '' and (取神兽资质(数据.宠物造型)[1] ~= nil or 取宝宝(数据.宠物造型)[1] ~= nil ) then
      玩家数据[玩家id].召唤兽.数据[编号].模型 = 数据.宠物造型
      if 玩家数据[玩家id].召唤兽.数据[编号].进阶 then
          玩家数据[玩家id].召唤兽.数据[编号].进阶=false
      end
    end
    常规提示(id,"#Y/修改召唤兽资质属性成功！")
  elseif 序号 == 6213 then
    local 编号 = 数据.编号
    if 玩家数据[玩家id].召唤兽:洗点处理1(编号) then
      常规提示(id,"#Y/重置召唤兽属性成功！")
    else
      常规提示(id,"#Y/对方召唤兽身上有装备！")
    end
  elseif 序号 == 6214 then
    for i=1,#数据.技能 do
      if self:取要诀(数据.技能[i]) == "" then
        常规提示(id,"#Y/请检查输入的技能是否有误！")
        return
      end
    end
    local 编号 = 数据.编号
    for i=1,#数据.技能 do
      玩家数据[玩家id].召唤兽.数据[编号].技能[i]=数据.技能[i]
    end
    常规提示(id,"#Y/修改召唤兽技能成功！")
  elseif 序号 == 6215 then
    local 类型 = 数据.类型
    if 类型 == "修改经验" then
      服务端参数.经验获得率 = 数据.内容+0
      f函数.写配置(程序目录.."配置文件.ini","主要配置","经验",数据.内容)
      常规提示(id,"#Y/修改经验倍数成功,当前经验倍数！"..服务端参数.经验获得率.."倍")
    elseif 类型 == "修改难度" then
      服务端参数.难度 = 数据.内容+0
      f函数.写配置(程序目录.."配置文件.ini","主要配置","难度",数据.内容)
      常规提示(id,"#Y/修改经验倍数成功,当前难度系数！"..服务端参数.难度)
    elseif 类型 == "发送公告" then
      发送公告("#G"..数据.内容)
      常规提示(id,"#Y/发送公告成功！")
    elseif 类型 == "在线奖励" then
      for i,v in pairs(玩家数据) do
        if 玩家数据[i] ~= nil and 玩家数据[i].管理 == nil then
          玩家数据[i].道具:发放在线奖励(i)
        end
      end
      常规提示(id,"#Y/发放在线奖励成功！")
    elseif 类型 == "在线玩家" then
      常规提示(id,"#Y/当前在线玩家:"..__N连接数)
    elseif 类型 == "比武报名" then
      开启比武报名()
      常规提示(id,"#Y/比武报名开启成功！！！")
    elseif 类型 == "比武入场" then
      开启比武大会进场()
      常规提示(id,"#Y/比武入场开启成功！！！")
    elseif 类型 == "结束比武" then
      结束比武大会()
      常规提示(id,"#Y/已结束比武大会！！！")
    elseif 类型 == "首席报名" then
      开启首席争霸报名()
      常规提示(id,"#Y/首席报名开启成功！！！")
    elseif 类型 == "首席入场" then
      开启首席争霸进场()
      常规提示(id,"#Y/首席入场开启成功！！！")
    elseif 类型 == "关闭首席" then
      结束首席争霸()
      常规提示(id,"#Y/已结束首席争霸！！！")
    elseif 类型 == "帮战报名" then
      开启帮战报名()
      常规提示(id,"#Y/帮战报名开启成功！！！")
    elseif 类型 == "帮战入场" then
      开启帮派竞赛进场()
      常规提示(id,"#Y/帮战入场开启成功！！！")
    elseif 类型 == "结束帮战" then
      结束帮派竞赛()
      常规提示(id,"#Y/已结束帮派竞赛！！！")
    end
  end
end

function 管理工具类:取装备(类型)
  local 物品表 = {"枪矛","斧钺","剑","双短剑","飘带","爪刺","扇","魔棒","锤","鞭","环圈","刀","法杖","弓弩","宝珠","巨剑","伞","灯笼","头盔","发钗","项链","女衣","男衣","腰带","鞋子"}
  for i=1,#物品表 do
    if 物品表[i] == 类型 then
      return i
    end
  end
  return 0
end
function 管理工具类:取符石(名称)
  local 符石={}
  符石 = {"冰符石","土符石","雷符石","电符石","风符石","炎符石","火符石"}
  for i=1,#符石 do
    if 符石[i]==名称 then
      return 1
    end
  end
  符石 = {"碧玉符石","金光符石","天神符石","飘渺符石","天仙符石","霞光符石","逍遥符石"}
  for i=1,#符石 do
    if 符石[i]==名称 then
      return 2
    end
  end
  符石 = {"虹珀符石","陌影符石","北冥符石","灵月符石","锦瑟符石","银光符石","清心符石","星辰符石","雪月符石","玄魂符石","乾坤符石","珍珀符石",
  "银竹符石","神川符石","玲珑符石","暮影符石","天珍符石","九影符石","百冥符石","莫念符石","醉魂符石","玄羽符石","霸风符石","无相符石",
  "无极符石","紫晶符石","圣火符石","昔光符石","子蚀符石","流风符石","地炎符石","素影符石","燕灵符石","降龙符石","苍玉符石","流魂符石",
  "九凤符石","墨陀符石","南夕符石","引幽符石","波涛符石","铃星符石","狂念符石","乱花符石","幽月符石","两仪符石","七情符石","召影符石"}
  for i=1,#符石 do
    if 符石[i]==名称 then
      return 3
    end
  end
  return 0
end
function 管理工具类:取阵法(名称)
  local 阵法信息={
    [4]="风扬阵",
    [5]="虎翼阵",
    [6]="天覆阵",
    [7]="云垂阵",
    [8]="鸟翔阵",
    [9]="地载阵",
    [10]="龙飞阵",
    [11]="蛇蟠阵",
    [12]="鹰啸阵",
    [13]="雷绝阵",
  }
  for i=4,13 do
    if 阵法信息[i] == 名称 then
      return true
    end
  end
  return false
end
function 管理工具类:取变身卡(名称)
  local 变身卡数据={
    [1]={"大海龟","巨蛙","海毛虫","护卫","树怪","大蝙蝠","山贼","强盗","野猪"}
    ,[2]={"骷髅怪","羊头怪","蛤蟆精","狐狸精","老虎","黑熊","花妖"}
    ,[3]={"牛妖","小龙女","野鬼","狼","虾兵","蟹将"}
    ,[4]={"龟丞相","蜘蛛精","黑熊精","僵尸","牛头","马面"}
    ,[5]={"雷鸟人","蝴蝶仙子","古代瑞兽","白熊","黑山老妖"}
    ,[6]={"天兵","天将","地狱战神","风伯","凤凰","蛟龙"}
    ,[7]={"如意仙子","巡游天神","星灵仙子","芙蓉仙子"}
    ,[8]={"幽灵","吸血鬼","鬼将","雾中仙","灵鹤","夜罗刹","炎魔神","噬天虎"}
  }
  for i=1,8 do
    for n=1,#变身卡数据[i] do
        if 变身卡数据[i][n] == 名称 then
          return i
        end
    end
  end
  return 0
end

function 管理工具类:取内丹(名称)
  local 普通内丹 = {"迅敏","狂怒","阴伤","静岳","擅咒","灵身","矫健","深思","钢化","坚甲","慧心","撞击","无畏","愤恨","淬毒","狙刺","连环","圣洁","灵光"}
  local 高级内丹 ={ "神机步","腾挪劲","玄武躯","龙胄铠","玉砥柱","碎甲刃","阴阳护","凛冽气","舍身击","电魂闪","通灵法","双星爆","催心浪","隐匿击","生死决","血债偿"}
  local 类型 = ""
  for i=1,#普通内丹 do
    if 普通内丹[i] == 名称 then
      类型 = "召唤兽内丹"
      return 类型
    end
  end
  for i=1,#高级内丹 do
    if 高级内丹[i] == 名称 then
      类型 = "高级召唤兽内丹"
      return 类型
    end
  end
  return 类型
end

function 管理工具类:取要诀(名称)
  local 类型 = ""
  local ms = {"反震","吸血","反击","连击","飞行","驱怪","隐身","感知","再生","冥思","慧根","必杀","幸运","神迹","招架","永恒","敏捷","强力","防御","偷袭","毒","驱鬼","鬼魂术","魔之心","神佑复生","精神集中","否定信仰","雷击","落岩","水攻","烈火","法术连击","法术暴击","法术波动","雷属性吸收","土属性吸收","火属性吸收","水属性吸收","迟钝"}
  for i=1,#ms do
      if ms[i]==名称 then
        类型="魔兽要诀"
        return 类型
      end
  end
  ms = {"高级反震","高级吸血","高级反击","高级连击","高级飞行","高级夜战","高级隐身","高级感知","高级再生","高级冥思","高级慧根","高级必杀","高级幸运","高级神迹","高级招架","高级永恒","高级敏捷","高级强力","高级法术抵抗","高级防御","高级偷袭","高级毒","高级驱鬼","高级鬼魂术","高级魔之心","高级神佑复生","高级精神集中","高级否定信仰","奔雷咒","泰山压顶","水漫金山","地狱烈火","高级法术连击","高级法术暴击","高级法术波动","高级雷属性吸收","高级土属性吸收","高级火属性吸收","高级水属性吸收"}
  for i=1,#ms do
      if ms[i]==名称 then
        类型="高级魔兽要诀"
        return 类型
      end
  end
  ms = {"善恶有报","须弥真言","力劈华山","驱怪","惊心一剑","上古灵符","嗜血追击","剑荡四方","月光","壁垒击破","夜舞倾城","苍鸾怒击","死亡召唤","法术防御","灵能激发","八凶法阵","从天而降","大快朵颐","浮云神马","灵山禅语","龙魂","千钧一怒","天降灵葫","叱咤风云","理直气壮","净台妙谛","观照万象"}
  for i=1,#ms do
      if ms[i]==名称 then
        类型="高级魔兽要诀"
        return 类型
      end
  end
  return 类型
end

function 管理工具类:取日志数量(账号,id)
  local 读取文件=读入文件([[data/]]..账号..[[/]]..id..[[/角色.txt]])
  local 还原数据=table.loadstring(读取文件)
  return 还原数据.日志编号
end
function 管理工具类:更新(dt) end

function 管理工具类:显示(x,y) end

return 管理工具类